/**
 * 
 * If you have edited the file, please update
 * all the last-modified fields manually. Thanks!
 *
 * @last-modified by: 
 * @last-modified date: 
 * @last-modified time: 
 *
 * @author Swee Zhi
 * @date-created Oct 26, 2011    @time-created 12:37:12 PM
 *
 * @project: 
 * @module: 
 * @institution: 
 *
 */
package util.entityhelper;

import entity.DailyItineraryEntity;
import java.io.Serializable;
import java.sql.Time;
import java.util.Collection;
import java.util.Date;
import java.util.TimeZone;

public class TripItineraryState implements Serializable {
    // trip itinerary
    private Long id;
    private String itineraryName;
    private Date arrivalDate;
    private Time arrivalTime;
    private TimeZone arrivalTimeZone;
    private Date departureDate;
    private Time departureTime;
    private TimeZone departureTimeZone;
    private String accomodationPostalCode;
    private Integer noOfAdults;
    private Integer noOfChildren;
    
    private Collection<DailyItineraryEntity> dailyItineraries;
    
    
    // formatted fields not in entity (for display purpose)
    private int tripNo;
    private String localizedArrivalDate;
    private String localizedDepartureDate;
    
    private String arrivalDateOnlyDatePart;
    private String arrivalDateOnlyTimePart;
//    private String arrivalDateOnlyTimeZonePart;
    private String departureDateOnlyDatePart;
    private String departureDateOnlyTimePart;
//    private String departureDateOnlyTimeZonePart;
    
    
    public TripItineraryState(Long tripItineraryId, String itineraryName,
                              Date arrivalDate, Time arrivalTime,
                              TimeZone arrivalTimeZone,
                              Date departureDate, Time departureTime,
                              TimeZone departureTimeZone,
                              String accomodationPostalCode,
                              Integer noOfAdults, Integer noOfChildren,
                              Collection<DailyItineraryEntity> dailyItineraries) {
        this.id = tripItineraryId;
        this.itineraryName = itineraryName;
        this.arrivalDate = arrivalDate;
        this.arrivalTime = arrivalTime;
        this.arrivalTimeZone = arrivalTimeZone;
        this.departureDate = departureDate;
        this.departureTime = departureTime;
        this.departureTimeZone = departureTimeZone;
        this.accomodationPostalCode = accomodationPostalCode;
        this.noOfAdults = noOfAdults;
        this.noOfChildren = noOfChildren;
        this.dailyItineraries = dailyItineraries;
    }

    public void setFormattedDateTimeFields(String arrivalDateOnlyDatePart, String arrivalDateOnlyTimePart,
//                                           String arrivalDateOnlyTimeZonePart,
                                           String departureDateOnlyDatePart, String departureDateOnlyTimePart) {
//                                           String departureDateOnlyTimeZonePart) {
        this.arrivalDateOnlyDatePart = arrivalDateOnlyDatePart;
        this.arrivalDateOnlyTimePart = arrivalDateOnlyTimePart;
//        this.arrivalDateOnlyTimeZonePart = arrivalDateOnlyTimeZonePart;
        this.departureDateOnlyDatePart = departureDateOnlyDatePart;
        this.departureDateOnlyTimePart = departureDateOnlyTimePart;
//        this.departureDateOnlyTimeZonePart = departureDateOnlyTimeZonePart;
    }
    

    public String getAccomodationPostalCode() {
        return accomodationPostalCode;
    }

    public void setAccomodationPostalCode(String accomodationPostalCode) {
        this.accomodationPostalCode = accomodationPostalCode;
    }
    
    public Collection<DailyItineraryEntity> getDailyItineraries() {
        return dailyItineraries;
    }

    public void setDailyItineraries(Collection<DailyItineraryEntity> dailyItineraries) {
        this.dailyItineraries = dailyItineraries;
    }

    public String getItineraryName() {
        return itineraryName;
    }

    public void setItineraryName(String itineraryName) {
        this.itineraryName = itineraryName;
    }

    public Integer getNoOfAdults() {
        return noOfAdults;
    }

    public void setNoOfAdults(Integer noOfAdults) {
        this.noOfAdults = noOfAdults;
    }

    public Integer getNoOfChildren() {
        return noOfChildren;
    }

    public void setNoOfChildren(Integer noOfChildren) {
        this.noOfChildren = noOfChildren;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getArrivalDate() {
        return arrivalDate;
    }

    public void setArrivalDate(Date arrivalDate) {
        this.arrivalDate = arrivalDate;
    }

    public Time getArrivalTime() {
        return arrivalTime;
    }

    public void setArrivalTime(Time arrivalTime) {
        this.arrivalTime = arrivalTime;
    }

    public Date getDepartureDate() {
        return departureDate;
    }

    public void setDepartureDate(Date departureDate) {
        this.departureDate = departureDate;
    }

    public Time getDepartureTime() {
        return departureTime;
    }

    public void setDepartureTime(Time departureTime) {
        this.departureTime = departureTime;
    }

    public String getArrivalDateOnlyDatePart() {
        return arrivalDateOnlyDatePart;
    }

    public void setArrivalDateOnlyDatePart(String arrivalDateOnlyDatePart) {
        this.arrivalDateOnlyDatePart = arrivalDateOnlyDatePart;
    }

    public String getArrivalDateOnlyTimePart() {
        return arrivalDateOnlyTimePart;
    }

    public void setArrivalDateOnlyTimePart(String arrivalDateOnlyTimePart) {
        this.arrivalDateOnlyTimePart = arrivalDateOnlyTimePart;
    }

    public TimeZone getArrivalTimeZone() {
        return arrivalTimeZone;
    }

    public void setArrivalTimeZone(TimeZone arrivalTimeZone) {
        this.arrivalTimeZone = arrivalTimeZone;
    }

    public TimeZone getDepartureTimeZone() {
        return departureTimeZone;
    }

    public void setDepartureTimeZone(TimeZone departureTimeZone) {
        this.departureTimeZone = departureTimeZone;
    }

    public String getDepartureDateOnlyDatePart() {
        return departureDateOnlyDatePart;
    }

    public void setDepartureDateOnlyDatePart(String departureDateOnlyDatePart) {
        this.departureDateOnlyDatePart = departureDateOnlyDatePart;
    }

    public String getDepartureDateOnlyTimePart() {
        return departureDateOnlyTimePart;
    }

    public void setDepartureDateOnlyTimePart(String departureDateOnlyTimePart) {
        this.departureDateOnlyTimePart = departureDateOnlyTimePart;
    }
    
    public int getTripNo() {
        return tripNo;
    }

    public void setTripNo(int tripNo) {
        this.tripNo = tripNo;
    }

    public String getLocalizedArrivalDate() {
        return localizedArrivalDate;
    }

    public void setLocalizedArrivalDate(String localizedArrivalDate) {
        this.localizedArrivalDate = localizedArrivalDate;
    }

    public String getLocalizedDepartureDate() {
        return localizedDepartureDate;
    }

    public void setLocalizedDepartureDate(String localizedDepartureDate) {
        this.localizedDepartureDate = localizedDepartureDate;
    }
   
}
